home *** CD-ROM | disk | FTP | other *** search
/ Network Supervisor's Toolkit / Network Supervisor's Toolkit.iso / tools / lu62 / proc / ftps.c < prev    next >
C/C++ Source or Header  |  1996-07-10  |  1KB  |  60 lines

  1. /*
  2.  * CopyRight 1995. Nicholas Poljakov all rights reserved.
  3.  */
  4. #include <stdio.h>
  5. #include <dos.h>
  6. #include <tps.h>
  7. #include <malloc.h>
  8. #include <state1.h>
  9.  
  10.  tp_started (lu_id,tp_id,
  11.              rc)
  12.  
  13. unsigned char lu_id[8];
  14.  
  15. unsigned char tp_id[8];
  16. unsigned long *rc;
  17.  
  18.  
  19.  {
  20.     union REGS inregs,outregs;
  21.     struct SREGS segregs;
  22.        char _near *dp1;
  23.        char _near *dp2;
  24.  
  25.   struct tp_started *ptr;
  26.  
  27.   if ((ptr = (char *)calloc(1,sizeof(struct tp_started))) == NULL) {
  28.   *rc = PORT_BUSY; /* ¡ÑΓ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿ */
  29.   return(0);
  30.        }
  31.   ptr->verb_cd=TP_STARTED;
  32.   memcpy(ptr->lu_id,lu_id,8);
  33. /*
  34.      inregs.x.dx = FP_OFF(ptr);
  35.      segregs.ds = FP_SEG(ptr);
  36.      inregs.x.ax = ptr->verb_cd;
  37.  
  38.          int86x(0x68,&inregs,&outregs,&segregs);
  39.  */
  40.      dp1 = FP_OFF( ptr );
  41.      dp2 = FP_SEG( ptr );
  42.      _asm
  43.          {
  44.             push  ds
  45.             mov   dx, word ptr dp1[0]
  46.             mov   ax, word ptr dp2[0]
  47.         mov   ds, ax
  48.         mov   ax, TP_STARTED
  49.             int   68h
  50.             pop   ds
  51.          }
  52.  
  53.  memcpy(tp_id,ptr->tp_id,8);
  54.  *rc = ptr->rc;
  55.  
  56.  free(ptr);
  57.  
  58.  return(0);
  59.  }
  60.